{ "err_no": 0, "err_msg": "success", "data": { "booklet": { "booklet_id": "6844733705089449991", "base_info": { "id": 0, "booklet_id": "6844733705089449991", "title": "剖析 Vue.js 内部运行机制", "price": 990, "category_id": "6809637767543259144", "status": 1, "user_id": "289926769027053", "verify_status": 2, "summary": "把原理抽象为小 Demo,以一种对新手友好的方式带领读者漫游 Vue.js 的世界", "cover_img": "https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2018/1/16/160fdc404b36a1a0~tplv-t2oaga2asx-image.image", "section_count": 9, "section_ids": "6844733705102032909|6844733705211084808|6844733705227862023|6844733705228025869|6844733705232056327|6844733705232056334|6844733705232056328|6844733705236283405|6844733705236299789|6844733705236250632", "is_finished": 1, "ctime": 1513514520, "mtime": 1657625430, "put_on_time": 1598288808, "pull_off_time": 1598288671, "finished_time": 1596106629, "recycle_bin_time": -62135596800, "verify_time": -62135596800, "submit_time": 1652602680, "top_time": -62135596800, "wechat_group_img": "https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3f517ba7d5b84679be5a2f46b454ac15~tplv-k3u1fbpfcp-watermark.image?", "wechat_group_desc": "小册九姐", "wechat_group_signal": "ranmo2048", "read_time": 5156, "buy_count": 12574, "course_type": 1, "background_img": "https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a37094b9c9b5491aad055a581f8b2fa1~tplv-k3u1fbpfcp-watermark.image?", "is_distribution": 1, "distribution_img": "https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/81e7d1fb158b482eaf44368fabfea021~tplv-k3u1fbpfcp-zoom-1.image?", "commission": 198, "can_vip_borrow": true, "is_sign": false }, "reading_progress": { "id": 0, "booklet_id": "6844733705089449991", "user_id": "3210229681503629", "status": 1, "buy_type": 1, "reading_end": 0, "reading_progress": 0, "last_section_id": "0", "has_update": 1, "last_rtime": 1516411305, "ctime": 1516411305, "mtime": 1658224862, "valid_begin_time": 0, "valid_end_time": 0, "borrow_times": 0 }, "user_info": { "user_id": "289926769027053", "user_name": "染陌同学", "company": "Alibaba", "job_title": "前端工程师", "avatar_large": "https://p6-passport.byteacctimg.com/img/user-avatar/18c3d15a16932ee0a7ec982876b297ec~300x300.image", "level": 4, "description": "大淘宝 前端架构", "followee_count": 118, "follower_count": 10450, "post_article_count": 36, "digg_article_count": 168, "got_digg_count": 3870, "got_view_count": 218645, "post_shortmsg_count": 37, "digg_shortmsg_count": 140, "isfollowed": false, "favorable_author": 1, "power": 5731, "study_point": 0, "university": { "university_id": "0", "name": "", "logo": "" }, "major": { "major_id": "0", "parent_id": "0", "name": "" }, "student_status": 0, "select_event_count": 0, "select_online_course_count": 0, "identity": 0, "is_select_annual": true, "select_annual_rank": 0, "annual_list_type": 0, "extraMap": {}, "is_logout": 0, "annual_info": [], "account_amount": 0, "user_growth_info": { "user_id": 289926769027053, "jpower": 0, "jscore": 301.8, "jpower_level": 0, "jscore_level": 4, "jscore_title": "进阶掘友", "author_achievement_list": [], "vip_level": 0, "vip_title": "" }, "is_vip": false }, "event_discount": null, "is_buy": true, "section_updated_count": 9, "is_new": false }, "introduction": { "id": 81483, "section_id": "6844733705102032909", "title": "介绍", "user_id": "289926769027053", "booklet_id": "6844733705089449991", "status": 1, "content": "
之前写《Vue.js 源码解析》的时候笔者就一直在思考,如何写出让新手同学能够读懂的文章呢?当时采用通篇的源码加上注释的方式讲解,笔者发现这样做不但导致文章体量大代码多,而且对没有阅读过源码或者没有阅读大型项目源码经历的同学来说并不友好。因为源码中有很多细节的东西,这些东西对于理解整个项目的内部运行机制并不那么重要,应该是先理解内部运行机制,然后再去深剖这些细节。
\n\n\n那么怎么样让新手更容易理解这些内容呢?
\n于是笔者就诞生了一个想法:把 Vue.js 的核心源码抽离出来,写成一个一个代码量更小更精细的 Demo ,形成一个简易版的 Vue.js 轮子,尝试用更少量的代码讲解核心部分内容,这样能更好地让人理解,毕竟大段的源码在没有上下文的情况下会让人觉得晦涩难懂。
\n
所以这本小册就这样诞生啦,期望能以一种对新手更加友好的方式来讲解 Vue.js 内部运行机制。
\n讲了那么多,我们还是要介绍一下 Vue.js 这一款优秀的 MVVM 框架。 Vue.js 是一款专注于视图层、用于构建用户交互界面的响应式渐进框架。除了大大提高了开发效率并降低了维护成本以外,它还拥有着优雅的 API 设计、快速上手的特性,这使它已经成为了目前主流前端框架之一。
\n但是你们有没有思考过:
\n很多同学并没有对其原理有一个更深一层的理解,导致在遇到一些难以琢磨的问题的时候会感到无从下手。
\n本小册希望通过一种对新手更加友好直观的方式讲解 Vue.js 内部运行机制。把 Vue.js 拆分成多个小模块,讲解模块间的依赖以及调用关系。然后将源码核心部分抽离压缩,各个模块以小 Demo 的形式展现出来,用最少的代码讲解内部实现。掌握了这些模块的核心原理之后,再去阅读 Vue.js 源码或者是解决 Vue.js 的疑难杂症时,相信会更加得心应手。
\n程序界的「二八定律」,百分之八十的问题可以运用百分之二十的知识来解决,而剩下的百分之二十的问题需要运用百分之八十的知识来解决。准备好那百分之八十的知识,才会在遇到有挑战的问题时更加游刃有余,机会永远留给准备好的人。
\n本小册希望用一种对新手更加友好的方式来讲解 Vue.js 内部运行机制,带领大家漫游 Vue.js 的世界,旨在帮助每一名想要进一步学习 Vue.js 的开发者。
\n染陌,前端工程师,掘金专栏作者。\n前 C++ 后端工程师,技术涉猎广泛。GitHub 千星项目《Vue.js 源码解析》作者,对 Vue.js 有着较为深入的研究。
\nGitHub:https://github.com/answershuto
\n\n\n了解基本实现有利于想去阅读 Vue.js 源码的同学更快更有效地阅读源码,不会再觉得大量的源码难以入手
\n